zabbix支持mail报警,sms报警,以及自定义报警,用到最多的还是脚本报警,当事件通知到脚本,会传递给脚本三个参数。
- $1:发送给谁
- $2:标题
- $3:报警内容
添加媒介类型:Adminstrator→Media Type→Add
那么上面提到的sms.sh放在哪里呢?
|
|
上面这个目录在zabbix的server配置段有定义,定义内容如下:
|
|
添加Actions:
修改用户的媒体类型:
添加完了以后,还记得我们之前添加过得nginx.active>10的触发器么。这里去触发一下触发器然后观察event事件。
我们发现他在发信息呢。看看我们定义的/tmp下的sms.log有没有内容呢:
|
|
可以发现确实写入到文本了。那么在实际的应用中我们就可以使用传过来的$1 $2 $3这三个来灵活的去处理了。只要获取到这个内容我们就可以按照自己的要求去处理了,不管你是发短信还是发邮件都是OK的。这取决于你的脚本到底是怎么写的。
关于短信发送的相关信息我们可以参考阿里大于,在阿里大于的帮助平台提供有短信发送的API以及相关参数。当然也可以使用Curl来完成,不过就是稍微有点麻烦就是了。
实践需要注意的一些内容:
Actions中定义的内容都是我们要收到的内容,如果你使用邮件这应该问题不大,不过你要是使用短信的话你就需要注意点了。因为在国内一条短信的长度是有限制的,搞不好一条短信发不完还得分开好几条发送,如果告警多了这个花销也是不可小看的。因此我们可以把actions改造一下,其实获取关键信息就足够了,定位机器,定位故障等。